Partitioning Loop Nests Containing Conditionals for Automatic Parallelisation
نویسنده
چکیده
This paper presents a novel approach for partitioning a class of loop nests whose iterations perform a varying amount of work due to the presence of IF statements. This approach is based on a pre-partitioning loop transformation, index set splitting, which removes the conditional. Preliminary experimental results on a virtual shared memory parallel computer demonstrate the performance improvements achieved using this approach.
منابع مشابه
Scanning Index Sets with Polynomial Bounds Using Cylindrical Algebraic Decomposition
Automatic, model-based program transformation relies on the ability to generate code from a model description of the program. In the context of automatic parallelisation, cache optimisation and similar transformations, the task is to generate loop nests which enumerate the iteration points within given domains. Several approaches to code generation from polyhedral descriptions of iteration sets...
متن کاملOn the Parallelization of Loop Nests Containing while Loops
Recently, eeorts have been made to devise automatic methods, based on a mathematical model, for the par-allelization of loop nests with while loops. These methods are extensions of methods for the parallelization of nested for loops.
متن کاملProgramming Research Group A SCHEME FOR THE BSP SCHEDULING OF GENERIC LOOP NESTS
This report presents a scheme for the bulk-synchronous parallel (BSP) scheduling of generic, untightly nested loops. Being targeted at the BSP model of computation, the novel parallelisation scheme yields parallel code which is scalable, portable, and whose cost can be accurately analysed. The scheme comprises three stages: data dependence analysis and potential parallelism identiication, data ...
متن کاملPolygonal Iteration Space Partitioning using the Polyhedral Model
OF THE DISSERTATION Polygonal Iteration Space Partitioning using the Polyhedral Model By Aniket Shivam Master of Science in Computer Science University of California, Irvine, 2016 Professor Alexander V. Veidenbaum, Chair Loop-nests in most scientific applications perform repetitive operations on array(s) and account for most of the program execution time. Traditional loop transformations, such ...
متن کاملLoop parallelisation using a simple parallelising compiler with the RHODOS distributed system
The procedure of parallelising a sequential task can be very difficult and even with considerable experience in the area of parallelisation, it can still be quite monotonous. Automation of parallelisation through using a parallelising compiler is often an advantageous path to pursue due to the savings in both time and effort. A major component of automatic parallelisation is loop parallelisatio...
متن کامل